package Datalayer;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;



import com.mysql.jdbc.Connection;

import Lijst.AapLijst;
import model.*;

public class AapDatalayer extends MainDatalayer{
	
	
	private PreparedStatement pstmt;
	private ResultSet rs;
	
	public String Bevallen1(){
		openConn();
		String sql = "INSERT INTO prodierentuin.aap (animal_nummer) VALUES ('"+ Aap.getInstance().getAnimal_nummer() +"')";
		
		try {
			pstmt = conn.prepareStatement(sql);
			
			pstmt.executeQuery();
			
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		return null;
	}
	
	public String Bevallen(){
		openConn();
		String sql2 = "INSERT INTO prodierentuin.dier(animal_nummer, naam, soortvacht, energie, ziek, hygiene, blaas, mannelijk, zwanger) VALUES ('"+ Aap.getInstance().getAnimal_nummer() +"','"+Aap.getInstance().getNaam()+"','"+Aap.getInstance().getSoortVacht()+"','"+Aap.getInstance().getEnergie()+"','"+Aap.getInstance().isZiek()+"','"+Aap.getInstance().getHygiene()+"','"+Aap.getInstance().isBlaas()+"','"+Aap.getInstance().isMannelijk()+"','"+Aap.getInstance().isZwanger()+"')";
		
		try {
			pstmt = conn.prepareStatement(sql2);
			
			pstmt.executeQuery();
			
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		return null;
	}
	
	public void loadAll(AapLijst dierlijst){
		openConn();
		String sql = "SELECT * FROM prodierentuin.aap a"
				+ " inner join prodierentuin.animal an "
				+ "on an.animal_nummer = a.animal_nummer";
		
		try{
		
			pstmt = conn.prepareStatement(sql);
			rs = pstmt.executeQuery();
			
			Dier dier;
			
			while(rs.next()){
				
				dier = new Aap(); 
				
				dier.setAnimal_nummer(rs.getInt("animal_nummer"));
				dier.setNaam(rs.getString("naam"));
				dier.setSoortVacht(rs.getString("soortvacht"));
				dier.setEnergie(rs.getInt("energie"));
				int ziek = rs.getInt("ziek");
				if(ziek == 1){
					dier.setZiek(true);
				}
				else{
					dier.setZiek(false);
				}
				
				dier.setHygiene(rs.getInt("hygiene"));
				
				int blaas = rs.getInt("blaas");
				if(blaas == 1){
					dier.setBlaas(true);
				}
				else{
					dier.setBlaas(false);
				}
				
				int mannelijk = rs.getInt("mannelijk");
				if(mannelijk == 1){
					dier.setMannelijk(true);
				}
				else{
					dier.setMannelijk(false);
				}
				
				int zwanger = rs.getInt("zwanger");
				if(zwanger == 1){
					dier.setZwanger(true);
				}
				else{
					dier.setZwanger(false);
				}
				dierlijst.addDier(dier);
				
			}
			
		}catch(SQLException sqle){
			sqle.getStackTrace();
		}
		
	}

	public String voortplanten(Aap partner){
		openConn();
		
		String sql = "UPDATE aap SET zwanger = 1 where ";
		
		try {
			stmt = conn.createStatement();
			stmt.executeUpdate(sql);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}
	
	public String klimmen(){
		
		return null;
	}	
}
